home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d957.lha
/
VChess
/
VChess.doc
< prev
next >
Wrap
Text File
|
1993-12-12
|
35KB
|
811 lines
VChess 2.0 - A Chessgame for Amiga-Computers
Copyright © 1993 by Stefan Salewski
All Rights Reserved
Preface to the English Documentation
This text should be a verbatin translation of the german original
documentation. If there are any differences between the german and this
english documentation, then of course the german text has precedence! If
you read this text, you will notice that my english is very strange
sometimes. But I hope that everybody can understand it. Of course, a
better english documentation (a new translation of the german text, or a
corrected version of this one) is always wellcome.
Copyright and other legal stuff
VChess is NOT a PD-Program, but Shareware! VChess and all other files of
this package (exept the libraries) are Copyright © 1993 by Stefan
Salewski.
In spite of several tests, no warranty is made that there are no
errors in VChess. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no case I will
be liable for any damage, direct or indirect, resulting by the use
of VChess.
The complete VChess 2.0-Package contains the following files:
File Size Meaning
--------------------------------------------------------------------------
VChess 97564 Mainprogram, V2.0
VChessOpenings 40588 Opening-Library, 138 Openings
VChess.doc 35290 English Documentation
VChess.dok 44030 German Documentation
CustomColors1.config 1668 Example-Configuration
OneWindow.config 1668 Example-Configuration
Games/A.Geller(UdSSR)-H.Palm(D) 592 Saved Game
Games/Game1 480 Saved Game
Games/Game2 432 Saved Game
Text/Text1 39 Icon for Textfiles
Text/A.Geller(UdSSR)-H.Palm(D) 1116 Example-Movelist
Libs/GarbageCollector.library 9820 © Fridtjof Siebert, V 3.0
(Libs/ReqTools.library 38104 © Nico Francois, V 38.1022)
Distribution of VChess is only allowed if the following conditions are
fulfilled:
All these files must remain unmodified. None of these files may be
distributed on its own, the entire package must be distributed as one
whole. (It is allowed to distribute this package without ReqTools.library,
because I think nearly everybody have it already, or to replace the
libraries with newer releases.)
It is allowed to archive these files with archiving-programs like LHA
(© Stefan Boberg) if it is possible to retrieve the files from the archive
in their original state.
Permission is granted to include this package in Public-Domain
collections, especially in Fred Fish's Amiga Disk Library (including CD
ROM versions of it).
The complete package may be (in archived form) uploaded to Bulletin Board
Systems or FTP servers.
PD-dealers and other people who want to distribute VChess are only allowed
to take money for the floppydisk and copying efforts. Nobody may take more
than US$ 5 or DM 5 for the disk with VChess. This is also valid if there
is other software besides VChess on the Disk.
The distribution of VChess in "Software Packages" (more than one disk)
together with other Software is only allowed with my written permission if
the package cost more than US$ 5 or DM 5.
The distribution of VChess on CD-ROM is only allowed if the CD-ROM
contains the contents of FD-Disks (for example Fish 500-1000) or if the
price of the CD-ROM in not greater than US$1 per megabyte. This means,
that nobody may sell a CD-ROM containing VChess and 100 Megabyte other
software for a price greater than US$100.
Distribution of VChees together with commercial software is forbidden.
Of course it is reserved to me to forbid single companies or persons the
distribution of VChess.
User of VChess should regard this: An empty Floppy-Disk costs less than
US$1, and copying VChess takes less than two minutes. If you paid more
than US$3 for the disk with VChess, then this was quite much money. But if
you have paid more than US$5, this was too much. Try to get your money
back, and tell me about it.
Introduction
VChess is written fully in Oberon language, and was developped on an Amiga
3000 using Amiga Oberon V 3.0 (© Fridtjof Siebert). With the help of
OS 2.0, ReqTools.library and Amiga-Oberon, I have produced a compact,
powerful and easy to use program. To run this program, you need an Amiga
with OS 2.0 or greater, and additional the ReqTools.library
(© Nico Francois) and GarbageCollector.library (© Fridtjof Siebert). Both
libraries are freely distributable. If the ReqTools.library is not part of
this package, you can find it for example on Fish-794. The
GarbageCollector.library should be part of this package. (Please note that
for both libraries there exists Preferences-Editors to modify the
behaviour of the libraries. You can find these on Fish-794 and AMOK-75.
(AMOK is a german FD-Libray with Amiga FD-Software written in Oberon or
Modula.) VChess needs not much memory. Without the use of the
Opening-library, it should be possible to use VChess on an Amiga with only
512 K. The normal stacksize of 4096 Byte should be enough too.
Installation
Copy, if not already installed, the GarbageCollector.library and the
ReqTools.library to LIBS:. This is all. Now you can start VChess from
Workbench with Double-Click. If you want to install VChess on your
harddisk, it is best to copy the whole VChess-Drawer to harddisk, because
this drawer contains the Opening-Library and other things.
Starting VChess
The easyest way is to start VChess with a Double-Click on its Icon. But of
course you can start it from Shell by typing its name and then pressing
the <Return>-Key. (VChess needs no parameters.) If there is the file
VChess.config in the Drawer of Vhess, then the program uses this file for
the startup-configuration, otherwise defauls are used.
First Steps
Before you go on reading this text, it is better to start VChess now and
try it out. When the program has started, you can see three windows. The
big one with the chessboard is the main-window. The both other windows are
only help-windows for showing some information. If the mainwindow is
active, then you can press the right mousebutton to take a look on the
Pulldown-Menu. ( Don't be sad if the display looks ugly at this time. Many
things like colors, fonts and screen-resolution can be changed.) Please
select now the menuitem "Config/Reset to defaults" to reset all
adjustments to defaults. Start the game by selecting "Project/NewGame".
Now you play with the white stones against the computer. To move a stone,
simple click on it with the left mousebutton. Now this stone is marked.
Now click on the destination-square. If this was a legal move, the stone
will move from source to destination, and the computer will answer with
his move. Now it's again your turn, and so on. Don't hesitate to test some
of the menu-functions. The meaning of most of them should be clear, just
try it out. Of coure you can resize the windows, or close the helpwindows.
Shareware-Contribution
I started the development of VChess in summer 1992, and now at the end of
October 1993 version 2.0 is finally (nearly) finished. I guess, that this
program took nearly thousand hours of work until now. I think you can
imagine how much money the development of this program would have cost a
software-company, or how much money I could have earned if I had work this
time somewhere else. And last not least the costs that the development of
software causes are not neglectible.
At the beginning I planed to sell VChess in a comercial way. But because
it is even by a comercial distribution not secure that the author gets a
justified amount of money for his work, I decided to distribute VChess as
Shareware. Shareware means, that the program can be freely copied, so that
everyone can get it (nearly) free of charge from friends, PD-Dealers or by
BBS-Systems. But when you like the program, and you want to go on using
it, you have to send a donation to the author.
VChess 2.0 is true shareware. This means that there are no restrictions in
this version. I emphasize this, because many authors have decided to
release only restricted versions of their software for freely
distribution. But there are no restrictions in VChess 2.0. This means that
you can test all functions of VChess, and you don't have to wait many
weeks after paying the contribution to get the fully functional version
from the author. And I have the advantage that I save some mailing-work
and postage.
So if you like VChess and want to go on using it, please send 15 US-Dollar
to the following address:
Stefan Salewski
Stolper Weg 3
D-21680 Stade (Germany)
Please compare this adress with the text that you see if you select the
menuitem "Project/About". If there are any differences in the adresses,
this means that somebody has made illegal modifications. In this case try
to get a clean, unmodified version of VChess. I think the best way is if
you send me the money in cash. If you send a check, postal money order or
something like that it may be very expensive or impossible to change it to
german money. All people, who send me the contribution, will get a
postcard from me, so that they know that I really got the money. If you
should not get this postcard after six weeks, then something went wrong.
(Please don't forget to give me your FULL postal address.)
Before I go on describing the use of VChess, I will explain two terms:
To click on a stone or square: Move the mousepointer over the stone
(chessman) or square, and then press and release the left mousebutton.
Menu: This means always the Pull-Down-Menu, which you see if you press the
right mousebutton.
Playing-Strength
Of course it is a big difference if you play with a 68000- or
68040-processor. On my A3000 I lost most games against the computer, if I
play with fair conditions. Fair conditions means, that I don't take back
moves, and that I don't use more thinking-time as the computer. I can't
make precise statements about it, because I have too many possibilities to
compare VChess with. But I think that the playing-strength is not very
great. The playing-algorithmen is fully a development of my own, and I
spent "only" 400 hours for it. I think that other people thought much more
about it. The best is if you test the playing-strength yourself. I think,
if you loose more than 50% of all games, then the playing-strength is big
enough for you. Note: If you would loose nearly every game, it would be
very frustrating. Of course, if the playing-strength would be very high,
it would be possible to degrade it artifically. But if you win againt the
computer, but you know that the computer have played intentional bad, you
will not be very glad about your win. If you think that the
playing-strength is too low, you can tell it to me. If many people think
so, I will try to increase it. For my own the playing-strength is
currently big enougth.
The Use of VChess
After starting VChess, you will see the mainwindow, and perhaps the two
other windows. The behaviour of the windows is like the windows of the
Workbench. You can move, resize and close it. If you close the mainwindow,
the program will terminate. Please note that you can only do
menu-operations if the mainwindow (the one with the chessboard) is is
active one. To move a stone, simple click on it and then on the
destination square. (To do a rochade, simple move the king. The rook is
moved automatically.) If you clicked on a stone, and this click was a
mistake, just click again on it to delete the selection.
In the window titled "All Moves" you can see all moves of the current
game. The algebraic notation is used. "2. W: B f1-b5" means, that White
moves the Bishop from square f1 to square b5, and that this is the second
move of White. The letters behind the colon have the following meanings:
P Pawn
k Knight
B Bishop
R Rook
Q Queen
K King
The "P" for a move of a pawn is substituted by a space in most cases.
The other window titled "Thinking..." shows the valuation of all currently
possible moves. The numbers on the right side are the valuation of this
move. The number 100 is equal to the gain of a pawn, -25 is equal to the
lost of a quarter pawn and so on.
"3-3 P e4xd5 50" means the following: If the pawn on square e4 would hit
the stone on square d5, this would result for the active player to a gain
of one half pawn. The characters "3-3" describe the deep of thinking, in
this example three halfmoves. (A halfmove is a move of a white or a black
stone.) In this example the computer has calculated for each possible move
of the active player a move of its opponent, and for each of these moves
of the opponent again a move of its own. From these three halfmoves the
total gain of this move is calculated, and the computer will select the
move with the highest total gain. Note that in the average a player can
make one of 30 possible moves. And for all of these 30 possible moves
there are again 30 moves as a response, and so on. This means, if the
computer calculates 3 halfmoves deep, the computer must process
30^3=30*30*30=27000 halfmoves. You can think about it as the computer
would build a tree for each possible move. The first halfmove is the root
of a tree, and from this root there are 30 branches to a opposite move,
and from each opposite move there are again 30 branches to the
opposite-opposite-moves and so on. Of course such a tree don't have to be
totally simetric, some branches can be longer (more nodes) and others
shorter. Because of this you will see often "3-4" instead of "3-3". This
means that the computer has generated a tree for this move, and that all
branches of this tree have 3 nodes, but some interesting or important
branches have four nodes.
Playing- and Build-up-Mode
There are two modes: Playing-Mode, and Build-up-Mode. In the Build-up-Mode
you can move stones without any restrictions. In Playing-Mode you can do
only legal moves, and the chessclocks run. You should note the following:
If you change the board in Build-up-Mode, you may destroy the current or
loaded game. And then you can't save it (from the beginning) any more.
Titleline of the Mainwindow
The windowtitle is used for displaying various information, for example
error-reports or the last move. If the computer has done a move, you can
see in () which opening the computer uses, or the computing-power of the
computer in moves per second, Mps.
Chessclocks
At the top of the boardwindow you can see three chessclocks. The clock on
the left displays the total time for the white player, and the clock on
the right the time for the black player. The clock in the middle shows the
time for the active player.
The Menu
If the mainwindow is active, you can select one of the following functions
with the right mousebutton:
Project
New Game
With this item you start a new game. All stones were build up at their
initial position, and it is white's turn.
Start Game
With this item you also start playing, but the stones stay at there
former places.
Solve for Mate
With this item you can activate a special playing-mode: The computer
will go on thinking until the computer sees a mate or stalemate. You
can use this mode for solving chess-tasks, but don't exspect too much
about this: To find a mate which the computer can't see in the range
of five halfmoves, much time is needed to find it.
Stop Game
Terminates the current game.
Save Game
With this function you can save a game, to go on playing it later or
to analyse it later. You can save it in Build-Up-Mode and in
Playing-Mode. But you can't save, if there is no legal game on the
board. Please note the following: Whenever you make a
saving-operation, like "Save Game" or "Print Movelist", or when you
add a game to the Opening-Library, then the game is saved only to the
current position in the game. This means, if you have take back a move
with "Extras/Undo", then this move is not saved. Or if you load a game
with "Set Up/Load Game" and you want to print the movelist of this
game, then you have to select the Menuitem "Set Up/Last Move" before
you can select "Project/Print Movelist" to print the game.
Save Movelist
The actual game is saved as a textfile in algebraic notation.
Print Movelist
The actual game is printed as a textfile in algebraic notation.
Give Up
You can use this item, if you play against the computer, and you want
to give up.
Offer Remis
Use this to propose a remis.
About
This item displays the adress of the author of VChess.
Quit
Terminates the game.
Players
Human-Human
Two human players play against each other.
Human-Amiga
A human player plays with the white stones against the computer.
Amiga-Human
The computer plays with the white stones against a human player.
Amiga-Amiga
Computer plays against computer.
Time
With this menu you can change the thinking-time of the computer:
10 Secs, 20 Secs, 30 Secs
Thinking-time is 10, 20 or 30 seconds.
1 Min, 2 Mins, 3 Mins, 5 Mins, 10 Mins, 30 Mins
Thinking-time is 1, 2, 3, 5, 10 or 30 minutes.
1 Hour, 3 Hours, 8 Hours, 12 Hours, 24 Hours
Thinking-time is 1, 3, 8, 12 or 24 hours.
Infinite
The computer calculates until a mate is found.
Custom
With this function you can enter a custom thinking-time. With the four
gadgets you can determine if your input is in seconds, minutes or
hours. If you only press <Return>, then your input is assumed to be in
seconds.
Equal ?
If this item is marked, the computer will adapt the thinkingtime to
the thinkingtime of the human player.
Exact ?
If this item is marked, the computer strictly regards the given
maximum thinkingtime. If this item is not marked, then the computer
will sometimes think a little bit longer, but in average will regard
the given thinkingtime.
Display
Show Movelist
The helpwindow, which shows the moves of the current game, is opened
or brought to the front.
Show Thinking
This function will open the window, which shows the valuation of all
currently possible moves, or brings this window in front of other
windows.
Rotate
90+, 180, 90-
With these items you can rotate the board.
Change Colors
White Stones, Black Stones, White Squares, Black Squares
With these items you can change the colors, which are used to draw
the squares and stones. Simple click on the desired color, and then
on "OK". You can only select one color at a time, for example the
color of the white stones. If you are using a custom screen, you can
use the sliders to change the color-values too. But if you play on a
public- or workbench-screen, it's better to select only colors, and
not to change color-values.
Change Patterns
White Stones, Black Stones, White Squares, Black Squares,
With these items you can change the patterns, which are used for
drawing squares and stones.
If the display looks ugly on your screen, you should try other colors
and patterns. The defaults look nice on an hires-interlace-screen with
OS2.0-colors, but if you have to play on a screen with lower
resolution, it's a good idea to try other colors.
Setup Mode ?
The board gets a border on the left and right side. On this border
rest some chessmen. In the buildup-mode, you can select these stones
and use them to build up a position. Also you can move stones on the
border to throw them away. In playing-mode the border has no function.
Coordinates ?
If you turn of coordinates, you have more room for the stones. But I
think this is only necessary if you have to play on a screen with very
low resolution.
Chess Clock ?
You can turn of the clock. If you have turned of coordinates, clock is
always turned of too.
Squareframes
White ?, Black ?
If one of this item is marked, a border is drawn around the squares.
You can only see this border, if the squares are displayed not
monochrome.
Change Screen
With this item you can select if you want to play on the default
public screen, on a public screen or on a custom screen. If you want
to play on a public screen, you have to type in its name. If you want
to play on a custom screen, it is recommended to use a screen with
four colors. It is possible to use a screen with only two colors, but
this will not look very nice. More than four colors are not
recommended, because VChess currently don't use more than four colors.
Please keep in mind, that screenresolution and number of colors may
affect the calculatingspeed of your computer. For example on my A3000
calculatingspeed is degraded about 50% if I use a
hires-16-color-screen or Productivity-Mode. Note that parts of the
pulldown-menu may be invisible if you use a large screenfont and a
screen with a horizontal resolution of only 320 points.
Screenfont
If you play on a custom screen, you can select a font which is used
for menus and windowtitles.
Textfont
With this function you can select a font which is used in the windows.
Selection of a proportional font may give strange results.
Set Up
You can access this menu only if you are in build-up-mode, maybe you
have to select "Project/StopGame" before.
Load Game
With this function you can load a game, to analyse it or go on playing
it. For example you can select the item "Next Move" multiple times to
go to a desired position in a game, and then select
"Project/StartGame" to start playing from this position.
First Move
Jumps to the first (really zerost) move of the actual game.
Last Move
Jumps to the last move of the actual game.
Next Move
The next move is performed.
Previous Move
Takes back the last move.
Clear Board
All stones are removed from the board. (Caution: This function and the
next three functions will destroy the actual game, so you can't save
it any more.
Bould Up
All stones are moved to their start-position.
White's turn
The white player has to do the next move.
Black's turn
The black player has to do the next move.
Config
You can save all settings in a configuration-file.
Load
Loads a configuration and activates it.
Save
Saves the actual settings as defaults. The program will use these
settings at the next start.
Save As
With this function you can save additional configurations, which you
can load and activate again with "Config/Load" .
Last Saved
This function activates the configuration which was used at the start
of the program, or which was saved with "Save". This is the file named
VChess.config.
Reset to defaults
Resets all settings to defaults.
Extras
Help
The computer is always thinking for the active player, even if the
active player is a human player. If you select this item, then the
list of all currently possible moves together with their valuation is
displayed. Of course the valuation may change with time, because the
computer is thinking deeper and deeper. So if you select this item
after some time again, the valuation will be not the same. You can
also select "Help" if the computer is the active player, to see how
the computer valuates the different moves.
Sort
This function is identical to help, but the display is sorted. The
best move is always displayed at the top of the list.
Valuation
The computer will valuate the current position. But this valuation is
only an approximation, only the stones on the board and their
strategic positions are taken into account. It is not regarded if one
stone can capture an other stone, or if a mate will occur after some
moves.
Break
With this function you can force the computer to make his move. Useful
if you are not very patient.
Undo Last Move
With this function you can take back the last move. The chess-rules
don't allow this, but I think some people will use this function
sometimes. Of course you can take back many moves by selecting this
function again and again.
Redo the Move
The move which you have taken back is again performed.
Pause
This function stops the chessclocks, and sets the thinking-process to
a very low priority, so no computing-power is consumed. The break
automatically end, if an userinput is registered.
Set Task Pri.
With this function you can modify the priority of this program.
Generally you will not need this function. Because a permanent
modification of priority is not useful, it is not stored in
configuration files. At the next start of Vchess, the priority will be
again zero (if started from workbench) or equal to the priority of the
shell-process (if started from shell). The priority of the
thinking-process is always one point lower than the priority of the
mainprocess. So userinput is always processed in real-time.
Create Icons ?
With this item you can select if the program shall create icon for
saved files. If the program has to make Icons, then the following
icons are copied if they exist, or defaults are used.
Filetype Used Icon (if it exists)
------------------------------------------
Game Game1 or Games/Game1
Configuration VChess.config
Textfile Text1 or Text/Text1
Use Openings ?
If this item is marked, then the computer will use the
openings-library. The filename of this library is VChessOpenings.
Using this library means that the computer needs no thinkingtime for
the first moves, and the playing-strength of the computer is greater.
Of course the library can only be used, if the game starts from
initial position with white as the active player. Note that the
opening-library is loaded if playing starts. This means, if you
deactivate this item before you start playing, the library will not be
loaded in memory. This will save some memory, so that it may be
possible to use VChess on Amigas with only 512 K.
Teaching ?
With this function you can switch on a teaching-mode. If you are
playing and it is your turn, and you click on a stone, then all
squares on which the stone can be moved are marked. This is very
useful for children learning chess.
Sound ?
If this item is activated, then a sound is generated when the computer
makes its move.
Random
With this item you can make the play of the computer more interesting.
Principle the computer would do always the same move in the same
situation, because he calculates the best move. But to the result of
the calculation a random number is added. With this function you can
select the upper border of this number. 100 points are equal to the
(virtual) win of a pawn.
0, 25, 50, 100
The random value is in the range between zero and 25, 50 or 100. If
you select "0", then the computer always will do the same move in
the same situation. If you select "50", then to each calculated gain
a random number between 0 and 50 is added.
Custom
With this function you can enter a custom upper boundary for the
random number. If the boundary is high, then the playing-strength of
the computer will decrease. But maybe this is what you want.
Blinken
0, 1, 3, 5
If stones are moved, they blink some times. So you better can see
which move the computer makes. You can select between 0 to 5 blinks.
This blinking is also used if you have loaded a game and replays it
with "Next Move" or "Last Move".
Openings
With this menu you can modify the opening-library. Most people can
ignore this menu.
Add this Game
If you select this item, then the current game is added to the
opening-library. With this function you can expand the
opening-library. There is only room for 32 halfmoves of a game in the
opening-library. If the current game has more moves, the remainder is
ignored. Of course you can add only regular games, this means games
started from their initial position and white as active player. If you
will add an opening from a chessbook, it is recommended to do it in
this way: Select "Players/Human-Human" and now "Project/NewGame". Now
you can play the opening from the book, and then select this item to
add it to the library. You have to enter the name of this opening, the
name may not have more than 32 characters. If this name already
exists, you will get an errormessage. Try another name. (Currently all
names of openings are german names. The reason is that I have only
german chessbooks, and it's diffical to find good translations for the
names.)
If an opening, which you will add to the library is already in this
library, but with another name, then there are two cases: If the
opening in the library contains more moves, then an errormessage is
displayed and your opening is not saved. But if your opening is
bigger, then your opening will overwrite the old one.
You should only add your own openings (games) to the library if you
are a very strong player, because an opening may contain only very
strong moves. If there is only one weak move, then the computer may do
this weak move and the playing-strength decreases.
Please note the following: If you want to add new entries to the
Opening-Library, it is necessary to load the existing library in
memory before you add new entries. So ensure that the menuitem
"Extras/Use Openings" is on before you select "Project/New Game" to
enter a new Opening. In this case the existing Opening-Library is
loaded automatically.
Delete actual
With this function you can delete the actual opening, this means this
one which is just used by the computer. This can be useful, if you are
playing against the computer and notices that the computer uses a
wrong or weak opening.
Delete by name
With this function you can delete an opening by name.
Dump to File
This function writes all openings to a file in algebraic notation. You
can look at this file with a textwiever, or print it out.
Save new Entries
If you select this item, then the opening-library is saved. If you
forgot this, all modifications are lost.
Now, at the end of this text, some general remarks:
Errors
I be sure that there are some small bugs in this version of VChess. Don't
hesitate to write to me if you find bugs or have comments to VChess. But
please don't expect a (long) response to each of your short letter. I am
studying physics, so I have not much free time to answer your letters.
New releases of VChess
There are much things which may be improved. So with great probability
there will be a new version of VChess in some time. If this version will
be freely distributable again then it can be found on great FD-Libraries
like the FISH-Library. Of course it depends on the Shareware-contributions
if or if not the next release of VChess will be freely distributable. If I
get only very few contributions, then it may be necessary to distribute
release 3.0 of VChess as commercial software. But in this case all people
who has paid their contribution will have to pay not more than the
difference between the shareware-contribution and the price in a
software-shop. If for example version 3.0 of VChess is sold for $25, then
all people who paid there contribution will have to pay only $10 for
release 3.0.
But of course I hope that many people will pay their contributions, so
that all new releases of VChess will be again freely distributable.
And now I hope that you enjoy this game.
Stefan Salewski, 08 Nov 1993